home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 24
/
Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso
/
Aminet
/
dev
/
c
/
AmiVoGL_MDEV.lha
/
hershey
/
docs
/
hershey.doc
< prev
Wrap
Text File
|
1991-08-25
|
10KB
|
397 lines
HERSHEY(3) C LIBRARY FUNCTIONS HERSHEY(3)
NAME
Hershey - A very ordinary library for using Hershey Fonts on
an SGI or with the VOGL(3) library.
DESCRIPTION
The Hershey library is a set of C routines (with a FORTRAN
interface) for drawing the Hershey font data with programs
written with SGI-GL or the VOGL library. As Hershey charac-
ters are defined by a set of vectors, they are subject to
the current transformation matrix and any line attributes
that have been set. There are also facilities for sizing and
rotating the characters in the library itself.
The character data and the fonts supplied are based on the
character set digitized by Dr Allen V. Hershey while working
at the U. S. National Bureau of Standards.
Things to keep in mind.
It should be noted that text is drawn parallel to the (x, y)
plane using whatever the current Z coordinate is.
These routines change the current graphics position, that is
they draw the characters (or string) at the current graphics
position by using relative move/draw sequences.
The library also supports the shortened 6 character names
for the FORTRAN interface. (Except for the routines hget-
fontheight and hgetfontwidth which have shortend 6 character
names of hgetfh and hgetfw respectively.
Loading a font.
hfont(fontname) Set the current font
Fortran:
subroutine hfont(fontname, len)
character*(*) fontname
integer len
C:
hfont(fontname)
char *fontname
There following names are available in this library.
astrology cursive cyrillic futura.l
futura.m gothic.eng gothic.ger gothic.ita
greek markers math.low math.upp
meteorology music script symbolic
HERSHEY 1.01 Last change: 27 Aug 1991 1
HERSHEY(3) C LIBRARY FUNCTIONS HERSHEY(3)
times.g times.i times.ib times.r
times.rb japanese
A markers font "markers" is also provided for doing markers
- you need to have centertext on for this to give sensible
results - with the markers starting at 'A' and 'a'.
If the 'fontpath' has been set with hsetpath (see below)
then hfont looks for the software fonts in the directory
given. Otherwise, if the environment variable "HFONTLIB" is
set hfont looks for the software fonts in the directory
given by this value. To maintain compatiblity with VOGL and
VOGLE, the envirionment variable "VFONTLIB" may be set simi-
larly to HFONTLIB.
hsetpath(fontpath)
Set the directory to search for the current font file.
Fortran:
subroutine hsetpath(fontpath, len)
character*(*) fontpath
integer len
C:
hsetpath(fontpath)
char *fontpath
Setting the the character sizes
htextsize(width, height)
Set the maximum size of a character in the currently
loaded Hershey font. Width and height are values in
world units.
Fortran:
subroutine htextsize(width, height)
real width, height
C:
htextsize(width, height)
float width, height;
hboxfit(l, h, nchars)
Set the scale for text so that a string of the biggest
characters in the font will fit in a box l by h. l and
h are real values in world dimensions.
Fortran:
subroutine hboxfit(l, h, nchars)
real l, h
HERSHEY 1.01 Last change: 27 Aug 1991 2
HERSHEY(3) C LIBRARY FUNCTIONS HERSHEY(3)
integer nchars
C:
hboxfit(l, h, nchars)
float l, h
int nchars
Setting the text angle
htextang(ang)
Set the text angle. All Hershey text will be drawn
rotated about the Z-axis by the angle specified. This
angle is in degrees and is a floating point number.
Fortran:
subroutine htextang(ang)
real ang
C:
htextang(ang)
float ang;
Setting the text attributes
hfixedwidth(onoff)
Turns fixedwidth text on or off. Non-zero (.true.) is
on. Causes all Hershey text to be printed fixedwidth.
The width of each character cell is the largest width
of any character in the currently loaded font.
Fortran:
subroutine hfixedwidth(onoff)
logical onoff
C:
hfixedwidth(onoff)
int onoff;
hcentertext(onoff)
Turns centertext text on or off. Non-zero (.true.) is
on. This centres strings and characters.
Fortran:
subroutine hcentertext(onoff)
logical onoff
C:
hcentertext(onoff)
int onoff;
hrightjustify(onoff)
HERSHEY 1.01 Last change: 27 Aug 1991 3
HERSHEY(3) C LIBRARY FUNCTIONS HERSHEY(3)
Turns rightjustify of text on or off. Non-zero (.true.)
is on. This rightjustifies strings and characters.
Turning on rightjustify will turn off centertext and
leftjustification. Turning off rightjustification
returns to the default of leftjustification.
Fortran:
subroutine hrightjustify(onoff)
logical onoff
C:
hrightjustify(onoff)
int onoff;
hleftjustify(onoff)
Turns leftjustify of text on or off. Non-zero (.true.)
is on. This leftjustifies strings and characters. Turn-
ing on leftjustify will turn off centertext, and
rightjustification. Turning off leftjustification will
turn on rightjustification.
Fortran:
subroutine hleftjustify(onoff)
logical onoff
C:
hleftjustify(onoff)
int onoff;
Getting information about the currently loaded Hershey font.
hgetcharsize(c, width, height)
Get the width and height of a character. At the moment
the height returned is always that of the difference
between the maximum descender and ascender.
Fortran:
subroutine hgetcharsize(c, width, height)
character*1 c
real width, height
C:
hgetcharsize(c, width, height)
char c;
float *width, *height;
hgetfontsize(width, height)
Get the maximum width and height of a character in a
font.
Fortran:
HERSHEY 1.01 Last change: 27 Aug 1991 4
HERSHEY(3) C LIBRARY FUNCTIONS HERSHEY(3)
subroutine hgetfs(width, height)
real width, height
subroutine hgetfontsize(width, height)
real width, height
C:
hgetfontsize(width, height)
float *width, *height;
hgetdescender()
Get the maximum descender in the current font.
Fortran:
real function getdescender()